// https://www.google.com/search?q=the+twelve+days+of+christmas+lyrics&sxsrf=ALiCzsbVrmnbO9oscspn09HKPfYjS9JX1w%3A1664559376455&ei=ECk3Y7S5G7Te4-EPvOKJwAM&oq=The+Twelve+Days+of+Christmas++lyric&gs_lcp=Cgdnd3Mtd2l6EAEYADIECCMQJzIECAAQHjIECAAQHjIECAAQHjIECAAQHjIECAAQHjIECAAQHjIECAAQHjIECAAQHjIECAAQHjoFCAAQywE6BQguEMsBSgQIQRgASgQIRhgAUKlmWLx3YNmFAWgAcAF4AIAB0gSIAdUMkgEJMC40LjIuNS0xmAEAoAEBwAEB&sclient=gws-wiz

fn main() {
    let days = [
        "first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth",
        "tenth", "eleventh", "twelfth",
    ];

    let activities = [
        "Twelve drummers drumming",
        "Eleven pipers piping",
        "Ten lords a-leaping",
        "Nine ladies dancing",
        "Eight maids a-milking",
        "Seven swans a-swimming",
        "Six geese a-laying",
        "Five gold rings (five golden rings)",
        "Four calling birds",
        "Three French hens",
        "Two turtledoves",
        "partridge in a pear tree",
    ];
    
    for i in 0..12 {
        println!("On the {} day of Christmas, my true love sent to me", days[i]);
        for d in (0..i+1).rev(){
            // eleventh day, event action is not reapt
            if i == 10 && d == 10 {
                println!("I sent eleven pipers piping");
                continue
            }

            // ugly method for handing first letter upper case and 'And'
            if i == 0 {
                println!("A {}", activities[11 - d]);
                continue;
            }

            if d == 0 {
                println!("And a {}", activities[11 - d]);
            } else {
                println!("{}", activities[11 - d]);
            }
        }
    }
    println!("And a {}", activities[11]);
}
